package com.newland.esp.controller.config;

import com.google.code.kaptcha.Producer;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;


/**
 * @param
 * @author lw
 * @descripe
 * @date 2021/8/16 16:42
 * @Version 1.0
 **/
@Configuration
public class KaptchaConfig {

    @Bean
    public Config config(){
        Properties properties = new Properties();
        properties.setProperty("kaptcha.border" , "yes"); //是否有边框
        properties.setProperty("kaptcha.border.color" , "105,179,90"); //设置边框颜色
//        properties.setProperty("kaptcha.textproducer.font.color" , "pink");//验证码文本字符颜色 默认为 Color.BLACK
        properties.setProperty("kaptcha.textproducer.font.names" , "宋体,楷体,微软雅黑");//设置字体样式

        properties.setProperty("kaptcha.textproducer.char.space" , "4");//验证码文本字符间距 默认为 2
        properties.setProperty("kaptcha.textproducer.char.length" , "4");//验证码文本字符长度 默认为 5
        properties.setProperty("kaptcha.image.width" , "200");//验证码图片宽度 默认为 200
        properties.setProperty("kaptcha.image.height" , "60");//验证码图片高度 默认为 40
//        properties.setProperty("kaptcha.textproducer.char.string" , "");//验证码文本字符内容范围 默认为 abcde2345678gfynmnpwx
        Config config = new Config(properties);
        return config;
    }

    @Bean
    public Producer producer(Config config){
        DefaultKaptcha producer = new DefaultKaptcha();
        producer.setConfig(config);
        return producer;
    }
}
